package car;

public class RentCompany {
	private String name, addr;
	private Vechile v[] = new Vechile[6];
	private int count = 0;// 计数器

	public RentCompany(String n, String a) {
		name = n;
		addr = a;
	}

	public void show() {
		System.out.println("本公司在" + addr + ",名字叫：" + name);
		for (int i = 0; i < count; i++)
			System.out.println(v[i]);
	}

	// 加新车
	public boolean add(Vechile vch) {
		if (count >= v.length) {
			// 没有空位置
			return false;
		}
		v[count++] = vch;

		return true;
	}

	// 根据类型和车的品牌以及座位数来查找出租的车辆
	public Vechile rent(String type, String brand, int seats, int days) {
		// type分为car和bus两种
		for (int i = 0; i < count; i++) {
			if (type.equals("car")) {
				if (v[i] instanceof Car) {
					if (v[i].isRent() == false && v[i].getBrand().equals(brand)) {
						v[i].setRent(true);
						v[i].setDays(days);
						return v[i];
					}
				}
			} else {
				if (v[i] instanceof PassengerBus) {
					if (v[i].isRent() == false && v[i].getBrand().equals(brand) && v[i].getSeat() >= seats) {
						v[i].setRent(true);
						v[i].setDays(days);
						return v[i];
					}
				}
			}
		}
		return null;// 没有找到合适的
	}

	// 出租:车牌号 和 天数
	// public Vechile rent(String no, int days) {
	//
	// return null;
	// }
	// 返回值表示租金
	public int returnCar(String no) {
		for (int i = 0; i < count; i++) {
			if (v[i].getSerialNo().equals(no)) {
				if (!v[i].isRent()) {
					System.out.println("此车" + v[i].getSerialNo() + "未出租");
					return 0;
				}
				v[i].setRent(false);
				//
				return v[i].calcMoney(v[i].getDays());
			}
		}
		return 0;
	}
}
